home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Games / Xconq 7.0d16 / lib / friedrich.g < prev    next >
Encoding:
Text File  |  1993-12-20  |  5.1 KB  |  231 lines  |  [TEXT/MPS ]

  1. (game-module "friedrich"
  2.   ;; This is not a standalone game, has only a test setup defined.
  3.   (blurb "Type definitions for games set during the Seven Years War")
  4.   (variants (world-size 45 30 1000))
  5. )
  6.  
  7. (set see-all true) ; for debugging
  8.  
  9. (unit-type army (image-name "soldiers"))
  10. (unit-type general (image-name "flag"))
  11. (unit-type marshal (image-name "flag"))
  12. (unit-type prince (image-name "flag"))
  13. (unit-type king (image-name "crown"))
  14. (unit-type depot (image-name "walltown"))
  15. (unit-type town (image-name "town20"))
  16. (unit-type fortress (image-name "fortress"))
  17.  
  18. (define a army)
  19. (define g general)
  20. (define m marshal)
  21. (define p prince)
  22. (define k king)
  23.  
  24. (material-type supplies (help "generic supplies"))
  25.  
  26. (terrain-type sea (color "sky blue") (char "."))
  27. (terrain-type countryside (color "green") (char "+") (image-name "countryside"))
  28. (terrain-type swamp (color "yellow green") (char "="))
  29. (terrain-type forest (color "forest green") (char "%")) ; no longer used?
  30. (terrain-type hills (color "khaki") (char ">")) ; no longer used
  31. (terrain-type mountains (color "sienna") (char "^"))
  32. (terrain-type river (color "blue") (subtype border))
  33. (terrain-type barrier (color "sienna") (image-name "mountains") (subtype border))
  34. (terrain-type pass (color "gray") (image-name "road") (subtype connection))
  35.  
  36. (define land (countryside swamp forest hills mountains))
  37. (define cell-t* (sea countryside swamp forest hills mountains))
  38. (define leader (g m p k))
  39. (define bases (depot town fortress))
  40.  
  41. ;;; Static relationships.
  42.  
  43. (table vanishes-on
  44.   ;; No navy in this game.
  45.   (u* sea true)
  46.   )
  47.  
  48. ;;; Armies carry leaders around and are propelled by them.
  49.  
  50. (add army capacity 1)
  51. (add bases capacity 10)
  52.  
  53. (table unit-size-as-occupant
  54.   (u* u* 100)  ; disables capacity by default
  55.   (army bases 1)
  56.   (leader army 1)  ; army can only have one commander
  57.   (leader bases 0)
  58.   )
  59.  
  60. ;;; Leaders can carry each other around, higher ranks "carrying" lower.
  61.  
  62. (table unit-capacity-x
  63.   (k (g m p) 4)
  64.   (p (g m) 3)
  65.   (m (g) 2)
  66.   )
  67.  
  68. (table unit-size-in-terrain
  69.   (u* t* 0)
  70.   ;; (need to limit armies?)
  71.   )
  72.  
  73. (add army storage 100)
  74. (add bases storage 1000)
  75.  
  76. (table material-size-in-unit (u* supplies 1))
  77.  
  78. ;;; Action parameters.
  79.  
  80. (add army acp-per-turn 1)  ; leader should increase this as well as speed
  81. (add leader acp-per-turn 6)
  82. (add bases acp-per-turn 0)
  83.  
  84. (table occupant-acp-effect
  85.   (leader army 600)
  86.   )
  87.  
  88. ;;; Movement parameters.
  89.  
  90. ;(table mp-per-occupant
  91. ;  (army leader 5)
  92. ;  )
  93.  
  94. (table mp-to-enter-terrain
  95.   (u* sea 99)
  96.   ;; Crossing rivers is hard for armies.
  97.   (a river 1)
  98.   (army barrier 99)
  99.   (leader barrier 99)
  100. )
  101.  
  102. (table mp-to-traverse
  103.   (army pass 1 #|2|#)
  104.   )
  105.  
  106. (add army free-mp 1)
  107.  
  108. ;; 6 u* attack_moves
  109.  
  110. ;; 5 s supply-line
  111.  
  112. ;;; Construction parameters.
  113.  
  114. (add depot cp 10)
  115.  
  116. (table acp-to-create (army depot 1))
  117.  
  118. (table acp-to-build (army depot 1))
  119.  
  120. (table cp-per-build (army depot 1))
  121.  
  122. ;;; Combat parameters.
  123.  
  124. (add army hp-max 40)
  125.  
  126. ;(table acp-to-attack
  127. ;  )
  128.  
  129. (table hit-chance
  130.   (army army 50)
  131.   (army leader 50)
  132.   )
  133.  
  134. (table damage
  135.   (army army 1)
  136.   (army leader 1)
  137.   )
  138.  
  139. ;;; Leaders should be able to retreat from hits.
  140.  
  141. (table acp-to-capture
  142.   (army army 1)
  143.   (army leader 1)
  144.   (army bases 1)
  145.   )
  146.  
  147. (table capture-chance
  148.   (army army 25)
  149.   (army leader 100)
  150.   (army bases 100)
  151.   )
  152.  
  153. ;;; Garrisons prevent immediate capture.
  154.  
  155. (table protection
  156.   (army fortress 10)
  157.   )
  158.  
  159. ;;; Need a surrender chance for depots vs fortresses.
  160.  
  161. ;;; Scoring.
  162.  
  163. (add u* point-value 0)
  164. (add fortress point-value 1)
  165.  
  166. ;;; Seasons.
  167.  
  168. (world (year-length 24))
  169.  
  170. (set calendar '(usual "month" 1 2))
  171.  
  172. ;;; Random generation; should be for testing only.
  173.  
  174. (add cell-t* alt-percentile-min (  0  70  30  20  90  95))
  175. (add cell-t* alt-percentile-max ( 20  90  31  90  95 100))
  176. (add cell-t* wet-percentile-min (  0  50  50   0   0   0))
  177. (add cell-t* wet-percentile-max (100 100 100 100 100 100))
  178.  
  179. (set edge-terrain mountains)
  180.  
  181. (add u* start-with 1)  ; one of everything
  182.  
  183. (table favored-terrain
  184.   (u* t* 0)
  185.   (u* countryside 100)
  186.   )
  187.  
  188. ;;; Always max out at a 9-month campaign season.
  189.  
  190. (set last-turn 18)
  191.  
  192. ;;; (this is not strictly necessary, since actual sides should always be used)
  193.  
  194. (set side-library '(
  195.   ((name "Austria") (adjective "Austrian"))
  196.   ((name "Prussia") (adjective "Prussian"))
  197.   ((name "France") (adjective "French"))
  198.   ((name "Russia") (adjective "Russian"))
  199.   ((name "Swabia") (adjective "Swabian"))
  200.   ((name "Hannover") (adjective "Hannoverian"))
  201.   ((name "Saxony") (adjective "Saxon"))
  202.   ((name "Sweden") (adjective "Swedish"))
  203.   ))
  204.  
  205. (game-module (notes (
  206.   "This is a game about the Seven Years War in central Europe.  The number of unit types"
  207.   "is small, and there are only a few special characteristics.  The game"
  208.   "is basically one of maneuvering for position, since combat was mostly"
  209.   "ineffective."
  210.   ""
  211.   "Map scale is 15 miles/cell, time is 2 weeks/turn."
  212.   ""
  213.   )))
  214.  
  215. (game-module (design-notes (
  216.   "A number of items remain to be developed:"
  217.   ""
  218.   "Leaders speeding up armies."
  219.   ""
  220.   "Austrian zones of control."
  221.   ""
  222.   "Disable free moves and make combat cost high, to simulate the mutual"
  223.   "consent to combat."
  224.   ""
  225.   "Do supply path stuff (4 hexes Coalition, 5 hexes Prussian)."
  226.   ""
  227.   "Have river effect on combat."
  228.  
  229. ; how to do captured prisoners and prisoner exchange?
  230.   )))
  231.